テスト

part1

#include

LRESULT CALLBACK WndProc(HWND hWnd ,UINT uMessage ,WPARAM wParam ,LPARAM lParam);

int WINAPI WinMain(
HINSTANCE hInstance , //インスタンス(ロードされたプログラム)のハンドル
HINSTANCE hPrevInstance , //直前に起動されたプログラムのインスタンスハンドル
PSTR lpCmdLine , //コマンドラインパラメータ
int nCmdShow ) { //ウインドウの状態
HWND hWnd; //HWNDでウインドウハンドルhwndを宣言
WNDCLASS winc; //ウインドクラス構造体

winc.style = CS_HREDRAW | CS_VREDRAW; //CS_HREDRAW(水平方向)またはCS_VREDRAW(垂直方向)のウインドウサイズの変更時に再描画
winc.lpfnWndProc = DefWindowProc; //ウインドウプロシージャのアドレス。デフォルトに設定
winc.cbClsExtra = winc.cbWndExtra = 0; //クラスの中の補助データ領域の確保。使わないので0
winc.hInstance = hInstance; //WinMainのパラメータhInstanceを設定
winc.hIcon = LoadIcon(NULL , IDI_APPLICATION); //LoadIcon関数を用いてアイコンの設定
winc.hCursor = LoadCursor(NULL , IDC_ARROW); //LoadCursor関数を使ってマウスカーソルの設定
winc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH); //クライアント(描画)領域の背景色の設定
winc.lpszMenuName = NULL; //メニューの情報。NULLでなしを設定
winc.lpszClassName = TEXT("KITTY"); //ウインドクラスの識別のための名前

if (!RegisterClass(&winc)) return 0; //終了

hWnd = CreateWindow(
TEXT("こけくきか") , TEXT("おえういあ") , //ウインドクラス名,ウインドウのキャプションバーに表示される文字列,
WS_OVERLAPPEDWINDOW , //ウインドウのスタイルの設定。WS_OVERLAPPEDWINDOWで一般的なウインドウになる,
100 , 100 , 200 , 200 , NULL , NULL , //起動時のウインドウの水平,垂直,幅,高さ,親ウインドウのハンドル。使わないのでNULL,メニューのハンドル。使わないのでNULL,
hInstance , NULL //WinMainのパラメータhInstanceを設定,ウインドプロシージャのlparamの値の設定。特に無いのでNULL,
); //

if (hWnd == NULL) return 0; //hwndがNULLなら終了
// ASSRET(hWnd);
// ShowWindow(hWnd , SW_SHOW); //非クライアント領域の表示。SW_SHOWでウィンドウをアクティブにして、現在の位置とサイズで表示
ShowWindow(hWnd , nCmdShow);
UpdateWindow(hWnd);
MessageBox(NULL , TEXT("あいうえお") , //メッセージボックスの表示(オーナーウインドウの指定。NULLでオーナーウインドなし,MessageBoxの中に表示するテキスト,
TEXT("かきこけこ") , MB_ICONINFORMATION); //MessageBoxのキャプションバーに表示するテキスト,ボタンの種類の表示。MB_ICONINFORMATIONで"i"マークのアイコン);

return 0; //終了
}

LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
switch (msg) {
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return(DefWindowProc(hWnd, msg, wParam, lParam));
}
return (0L);
}

part2


#include
LRESULT CALLBACK WndProc(HWND hWnd ,UINT uMessage ,WPARAM wParam ,LPARAM lParam);
int WINAPI WinMain(HINSTANCE hThisInst, HINSTANCE hPrevInst, LPSTR lpszArgs, int nWinMode)
{
HWND hWnd;
MSG mMsg;
WNDCLASSEX winclass;
winclass.hInstance = hThisInst;
winclass.lpszClassName = "Skelton01";
winclass.lpfnWndProc = WndProc;
winclass.style = CS_HREDRAW | CS_VREDRAW;
winclass.cbSize = sizeof(WNDCLASSEX);
winclass.lpszMenuName = NULL;
winclass.hIcon = LoadIcon(NULL,IDI_APPLICATION);
winclass.hIconSm = LoadIcon(NULL,IDI_WINLOGO);
winclass.hCursor = LoadCursor(NULL,IDC_ARROW);
winclass.cbClsExtra = 0;
winclass.cbWndExtra = 0;
winclass.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
if(!RegisterClassEx(&winclass)){
return (0);
}
hWnd = CreateWindowEx(
WS_EX_APPWINDOW,
"Skelton01",
"windows Skelton Program",
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,CW_USEDEFAULT,
CW_USEDEFAULT,CW_USEDEFAULT,
HWND_DESKTOP,
NULL,
hThisInst,
NULL);
ShowWindow(hWnd,nWinMode);
UpdateWindow(hWnd);
while(GetMessage(&mMsg,NULL,0,0)){
TranslateMessage(&mMsg);
DispatchMessage(&mMsg);
}
return mMsg.wParam;
}
LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
switch (msg) {
case WM_DESTROY:
PostQuitMessage(0);
break;
default:
return(DefWindowProc(hWnd, msg, wParam, lParam));
}
return (0L);
}



© Rakuten Group, Inc.